console.log(NaN == NaN);//false 双等号两边只要有NaN就是false
console.log(2 == true);//false 双等号两边有true，则转化为1 有false,转化为0
console.log(1 == { num: 1 });//false 双等号两边有对象，则对象调用本身toString方法，本身没有则上原型上找
console.log('[object Object]' == { num: 1 });//true 双等号两边有对象，则对象调用本身toString方法，本身没有则上原型上找
console.log('hello' == { num: 1, toString: function () { return 'hello' } });//true 双等号两边有对象，则对象调用本身toString方法，本身没有则上原型上找
console.log(5 == '5');//true 字符串和数字比较，字符串转化为数字
console.log(null == undefined);//true null和undefined相等，但和其它类型比较时不转换类型
console.log(null == false);//false 双等号两边有false,转化为0,并且null和其它类型比较时不转换类型
console.log(1 == [1]);//true 双等比较只看值，不看类型
console.log(+0 == -0);//true es5双等的缺陷之一
console.log(+0 === -0);//true es5三等的缺陷
console.log(Object.is(+0,-0));//false